﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using RPSImporter.Infrastructure;

namespace RPSImporter.Models.Settings
{
   public class PersonFileSettings : IFileSettings
   {
      [Key]
      [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
      public int ID { get; set; }

      [StringLength(100)]
      [Display(Name = "Nom")]
      public string FirstName { get; set; }

      [StringLength(100)]
      [Display(Name = "Prénom")]
      public string LastName { get; set; }

      [StringLength(100)]
      [Display(Name = "Sexe")]
      public string Gender { get; set; }

      [StringLength(100)]
      [Display(Name = "Nom de jeune fille")]
      public string MaidenName { get; set; }

      [StringLength(100)]
      [Display(Name = "Numéro de matricule")]
      public string BadgeNumber { get; set; }

      [StringLength(100)]
      [Display(Name = "Age")]
      public string Age { get; set; }

      [StringLength(100)]
      [Display(Name = "Date de naissance")]
      public string BirthDate { get; set; }

      [StringLength(100)]
      [Display(Name = "Etat civil")]
      public string CivilState { get; set; }

      [StringLength(100)]
      [Display(Name = "Langue")]
      public string Language { get; set; }

      [StringLength(100)]
      [Display(Name = "Nationalité")]
      public string Nationality { get; set; }

      [StringLength(100)]
      [Display(Name = "Personnel catégorie santé")]
      public string CategorieSante { get; set; }

      [StringLength(100)]
      [Display(Name = "N° de sécurité sociale (NIR)")]
      public string SocialSecurityNumber { get; set; }

      [StringLength(100)]
      [Display(Name = "Clé (NIR)")]
      public string ControlKey { get; set; }

      [StringLength(100)]
      [Display(Name = "Siège social")]
      public string Company { get; set; }

      [StringLength(100)]
      [Display(Name = "Etablissement")]
      public string Enterprise { get; set; }

      [StringLength(100)]
      [Display(Name = "Rattachement hiérarchique")]
      public string Hierarchy { get; set; }

      #region
      [StringLength(100)]
      [Display(Name = "Department")]
      public string Department { get; set; }

      [StringLength(100)]
      [Display(Name = "Sector")]
      public string Sector { get; set; }
      #endregion

      [StringLength(100)]
      [Display(Name = "Pays")]
      public string Country { get; set; }

      [StringLength(100)]
      [Display(Name = "Type personnel")]
      public string TypePersonel { get; set; }

      [StringLength(100)]
      [Display(Name = "Nom Horaire")]
      public string WorkingHoursName { get; set; }

      [StringLength(100)]
      [Display(Name = "Code Horaire")]
      public string WorkingHoursCode { get; set; }

      [StringLength(100)]
      [Display(Name = "Fonction")]
      public string Occupation { get; set; }

      [StringLength(100)]
      [Display(Name = "Depuis le (fonction)")]
      public string StartingDate { get; set; }

      [StringLength(100)]
      [Display(Name = "Profession")]
      public string Proffesion { get; set; }

      [StringLength(100)]
      [Display(Name = "Qualification")]
      public string Qualification { get; set; }

      [StringLength(100)]
      [Display(Name = "Date d’engagement (embauche)")]
      public string HirementDate { get; set; }

      [StringLength(100)]
      [Display(Name = "Adresse 1")]
      public string Address1 { get; set; }

      [StringLength(100)]
      [Display(Name = "Ville")]
      public string City { get; set; }

      [StringLength(100)]
      [Display(Name = "Code postal")]
      public string ZipCode { get; set; }

      [StringLength(100)]
      [Display(Name = "Tél# Fixe")]
      public string Phone { get; set; }

      [StringLength(100)]
      [Display(Name = "Secouriste")]
      public string SocialWorker { get; set; }

      [StringLength(100)]
      [Display(Name = "Tranche de décompte")]
      public string FirstLevel { get; set; }

      [StringLength(100)]
      [Display(Name = "Domaine du personnel")]
      public string SecondLevel { get; set; }
   }
}